<?php
/**
 * Created by 抒己社区论坛.
 * User: wjx
 * Email:978976871@qq.com
 * Date: 2018/10/19
 * Time: 13:52
 */
namespace app\common\controller;
use think\facade\Session;
use think\Controller;

class Base extends Controller
{
    public function initialize()
    {
        $r = $this->islogin();//验证是否登录
        !$r['success']&&$this->redirect(url('admin/login/index'));//状态异常跳转到登录页面
//     print_r(json_decode($r));
//    $this->auth_check(); //验证权限
    }
    /**
     *登录验证
     */
    public function islogin(){
        //先判断session是不是存在
        $user = session(config('app.session__config.session_info'));
        if (empty($user)) {
            return VV(false,'用户名没有登录');
        }
        //然后判断签名是否有效
        if (session(config('app.session__config.session_sign')) != user_sign($user)) {
            return VV(false,'签名不正常');
        }
        //判断有效期是否有效,如超期删除,如不超期更新
        if (isset($user['expire'])) {
            //如果expire时间<当前时间,删除session,并且登出
            if ($user['expire'] < time()) {
                Session::delete(config('app.session__config.session_info'));
                Session::delete(config('app.session__config.session_sign'));
                return VV(false,'登录已经过期');
            }
            //否则,更新expire时间,更新签名
            $user['expire'] = time() + config('app.session__config.session_expire');
            Session::set(config('app.session__config.session_info'), $user);
            Session::set(config('app.session__config.session_sign'), user_sign($user));
        }
        return VV(true,'登录成功');
    }
    
}